﻿#include <iostream>
#include<vector>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<deque>
#include<unordered_set>
#include<numeric>
using namespace std;

//int main() {
//	int n;
//	cin >> n;
//	vector<int> v(n);
//	for (auto& el : v)
//		cin >> el;
//	int q;
//	cin >> q;
//	int idx = lower_bound(v.begin(), v.end(), q) - v.begin();
//	cout << idx << endl;
//	return 0;
//
//
//}



//using i64 = long long;
//using PII = pair<int,int>;
//const int INF = 0x3f3f3f3f;
//int n, m;
//bool check(int mid, vector<int>& v)
//{
//	// mid就是当前锯片的高度  
//	i64 res  = 0;// 当前高度得到的木材  
//	for (int i = 1; i <= n; ++i)
//		res += max(0, (v[i] - mid));
//	return res >= m;
//}
//int main()
//{
//	// l,r,锯片的高度区间  
//	int l  = 0, r  = 0;
//	cin  >> n  >> m;
//	vector<int> v(n  + 1);
//	for (int i  = 1;i  <= n; ++i )
//		cin  >> v[i], r  = max(r, v[i]);
//
//	while(l< r)
//	{
//		int mid = l  + r + 1 >> 1;
//		if(check(mid, v))
//			l = mid;
//		else
//			r = mid - 1;
//	}
//    cout<<l<< endl;
//	return 0; 
//}
//




//int main() {
//	double i;
//	cin>>i;
//	double a;
//	a=cbrt(i);
//	printf("%0.6lf", a);
//	return 0;
//	
//}


long find( int j) {
	lower_bound(a.begin, a.end, b[j]);
	return 0;
}

long a[];
long b[];

int main() {
	long n, m;
	cin >> n >> m;
	for (int i; i <= n; ++i)
		cin >> a[i];
	for (int j; j <= m; ++j)
		cin >> b[j];
	 

	return 0;
}